This invention is generally directed to capacity overload in a packet network and is more specifically directed to minimizing capacity overload by controlling the rate at which bursty data, such as voice and video, is encoded.
Packet networks have been recognized as an efficient means for carrying computer data traffic. Circuit switch networks have been generally thought to be more suited for carrying voice and video traffic. However, it is believed that packet networks will be relied upon in the future for carrying coded information such as voice and video in addition to computer data.
In a normal telephone conversation, a party typically talks less than 50% of the time. The use of speech activity detection (SAD) in a packet voice network provides a potential of a two-to-one statistical gain. However congestion may occur in the buffers or queues of nodes for a transmission link when the information load exceeds the link capacity due to coincident speech bursts from several speech sources. This type of congestion can last for a time period long relative to the length of a talkspurt especially over lower capacity links. Voice quality is degraded due to the discarding of packets, and increased packet delay time. To avoid such degradation, little or no statistical gain is typically employed for relatively low capacity links. For example, a 64 kbps transmission link typically supports only four 16 kbps voice calls, even with SAD, resulting in a low utilization efficiency.
When video traffic is carried in a packet network, the information rate from a video coder varies depending on the instantaneous activity of the scene. Thus, the rate increases during active motion (or scene changes) and decreases during inactive periods. Congestion similar to voice traffic may occur in a transmission link when several sources are in active motion. The duration of congestion is proportional to the time of active motion. During the congestion, the video quality is degraded due to packet loss and increased delay time.
One technique which has been utilized to control the overloading of packet voice network queues due to talkspurt activity operates by dropping or discarding less important voice information in packets during peak congestion periods. In order to reduce overload conditions using a discard technique, intermediate nodes in the packet network must recognize the overload condition and discard voice information within each packet according to a predetermined technique. The packet processing requirements increase the computing power required for each node resulting in increased cost and network complexity. Relatively poor voice quality may result depending upon the particular technique used, and the length and magnitude of the overload condition. IEEE Transaction on Communications, Vol. Com-28, No. 3, March 1980, Theodore Bially, Bernard Gold, and Stephanie Seneff, "A Technique for Adaptive Voice Flow Control in Integrated Packet Networks", pp. 325-333; IEEE Transaction on Communications, Vol. Com-37, No. 7, July 1989, Kotikalapudi Sriram, and David M. Lucantoni, "Traffic Smoothing Effects of Bit Dropping in a Packet Voice Mutiplexer", pp. 703-712.
Control algorithms have been proposed to maximize the throughput of computer data traffic in packet networks. In the article, "PARIS: An Approach to Integrated High-Speed Private Networks" by Israel Cidon and Inder S. Gopal in the International Journal of Digital and Analog Cabled Systems, Vol. 1, No. 2, April-June (1988), pp. 77-85, an input throttle is used at the source node. To be allowed into the network, a data packet under the control of a throttle algorithm requires a token. Tokens are produced periodically at a predetermined rate until the number of tokens reaches a maximum value. Thus, the average transmission rate of packets is less than or equal to the token rate. If the network is lightly loaded, the throttle control algorithm can increase the token generating rate thereby increasing the packet transmission rate. A congestion bit in data packet acknowledgements indicates the presence of congestion in the network. The source node will then reduce the token generation rate until it reaches a predetermined minimum rate. The rate is allowed to increase as packets build up at the input throttle buffer after the congestion ceases. This throttle control algorithm is not suited for voice traffic since voice packets are normally generated at a fixed periodic rate and cannot be delayed by accumulation at the throttle buffer. Similarly, the real-time nature of video prevents video packets from being delayed. Also, acknowledgement packets are not normally utilized for voice or video traffic and hence would not be available to carry the network congestion information.
Congestion avoidance is addressed in the article, "A Binary Feedback Scheme for Congestion Avoidance in Computer Networks with a Connectionless Network Layer" by K. K. Ramakrishnan and Raj Jain in Proc. ACM SIGCOMM'88, August 1988, pp. 303-313. In this method, network feedback is utilized to adjust the allowed number of unacknowledged packets in the network which corresponds to the transmission window size. Intermediate nodes detect congestion and set a congestion indication bit on packets flowing in the forward direction. The congestion indication is communicated back to the source of information via transport level communication. This method is not generally applicable to a packet network carrying voice or video traffic since window control is not suited for coded information sources.
There exists a need in a packet network to handle temporary overloads due to the bursty nature of voice and video information while maintaining high quality. This need is most crucial on relatively low capacity links in which the statistical probability of such congestion is higher and the duration of congestion is longer than on higher capacity links.